﻿using SportsPlatform.BaseModels;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SportsPlatform.Model.SportBusiness
{
    /// <summary>
    /// 赛事成绩表
    /// </summary>
    [Table("T_B_CompetitionAchievementInfo")]
    public  class CompetitionAchievementInfo : BaseModel
    {
        /// <summary>
        /// 参赛用户Id
        /// </summary>
        public Guid? EmployeeId { get; set; }

        /// <summary>
        /// 参赛团队表Id,参赛用户Id二选一
        /// </summary>
        public Guid? CompeteTeamId { get; set; }

        /// <summary>
        /// 赛事信息Id
        /// </summary>
        public Guid CompetitionId { get; set; }

        /// <summary>
        /// 赛事名称
        /// </summary>
        [Required]
        [MaxLength(100)]
        public string CompetitionName { get; set; }

        /// <summary>
        /// 赛事项目信息Id
        /// </summary>
        public Guid CompetitionProjectId { get; set; }

        /// <summary>
        /// 赛事项目名称
        /// </summary>
        [Required]
        [MaxLength(200)]
        public string CompetitionProjectName { get; set; }

        /// <summary>
        /// 赛事项目分组Id
        /// </summary>
        public Guid CompetitionGroupingId { get; set; }

        /// <summary>
        /// 比赛项目场次表Id
        /// </summary>
        public Guid EventsSessionId { get; set; }

        /// <summary>
        /// 比赛项目场次名称
        /// </summary>
        [Required]
        [MaxLength(20)]
        public string EventsSessionName { get; set; }

        /// <summary>
        /// 比赛节点
        /// </summary>
        [Required]
        [MaxLength(100)]
        public string CompetitionNode { get; set; }

        /// <summary>
        /// 参赛者/团队
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string ContestantOrTeam { get; set; }

        /// <summary>
        /// 感应器，多个都好隔开
        /// </summary>
        [Required]
        [MaxLength(300)]
        public string SensorNumbers { get; set; }

        /// <summary>
        /// 比赛号位,多个分号隔开
        /// </summary>
        [Required]
        [MaxLength(300)]
        public string CompetitionNumberPosition { get; set; }

        /// <summary>
        /// 成绩圈
        /// </summary>
        public int? AchievementCircle { get; set; }

        /// <summary>
        /// 成绩时
        /// </summary>
        [MaxLength(20)]
        public string AchievementTime { get; set; }

        /// <summary>
        /// 实际跑圈
        /// </summary>
        public int? ActualLap { get; set; }

        /// <summary>
        /// 扣圈
        /// </summary>
        public int? BuckleRing { get; set; }

        /// <summary>
        /// 扣时
        /// </summary>
        [MaxLength(20)]
        public string BuckleTime { get; set; }

        /// <summary>
        /// 漏标
        /// </summary>
        public int? MissingMark { get; set; }

        /// <summary>
        /// 黄牌
        /// </summary>
        public int? YellowCard { get; set; }

        /// <summary>
        /// 红牌
        /// </summary>
        public int? RedCard { get; set; }

        /// <summary>
        /// 成绩得分
        /// </summary>
        public double? Score { get; set; }

        /// <summary>
        /// 比赛排名
        /// </summary>
        public int? CompetitionRanking { get; set; }

        /// <summary>
        /// 比赛开始时间
        /// </summary>
        public DateTime? CompetitionStartTime { get; set; }

        /// <summary>
        /// 比赛结束时间
        /// </summary>
        public DateTime? CompetitionEndTime { get; set; }

    }
}
